﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using DingApi.Models;
using System.Data;

using System.Web;
using Dingding.Helper;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;


namespace DingApi.Controllers
{
    public class Pasi15Controller : ApiController
    {   

        [HttpPost] 
        public System.Data.DataSet PostPasi15ById([FromBody]  JObject obj)
        {
            EI.EIInfo inBlock = new EI.EIInfo();

             

            string  asmat_name          = obj["asmat_name"].ToString();
            string spec                 = obj["spec"].ToString();

            string  asmat_no            = obj["asmat_no"].ToString();

            string pa_location_no       = obj["pa_location_no"].ToString();
            string company_code         = obj["company_code"].ToString();
            string stock_no             = obj["stock_no"].ToString();
            string userid               = obj["userid"].ToString();

             

            //区分大小写的； obj["ASMAT_NAME"] 报错。

            //if (obj.ToString().Contains("asmat_no"))
            //{
            //    asmat_no = obj["asmat_no"].ToString();
            //}
             

         



            //if (string.IsNullOrWhiteSpace(asmat_name))
            //{
            //    inBlock.sys_info.msg = "请输入资材名称";
            //   
            //}


          
            inBlock.Tables[0].Columns.Add("FLAG");
            inBlock.Tables[0].Columns.Add("IS_FJ");

            inBlock.Tables[0].Columns.Add("SPEC");
            inBlock.Tables[0].Columns.Add("ASMAT_NAME");
            inBlock.Tables[0].Columns.Add("ASMAT_NO");
            inBlock.Tables[0].Columns.Add("PA_LOCATION_NO");
            inBlock.Tables[0].Columns.Add("COMPANY_CODE");        
            inBlock.Tables[0].Columns.Add("STOCK_NO"); //后台必须的字段；
         
            


            inBlock.Tables[0].Rows.Add();

            inBlock.sys_info.company_code = "LT";
            inBlock.sys_info.userid = userid; 

            inBlock.Tables[0].Rows[0]["FLAG"] = "5"; //库存金额不限制为空；5为数量不为零；
            inBlock.Tables[0].Rows[0]["IS_FJ"] = "0"; //不包括废旧库

            inBlock.Tables[0].Rows[0]["SPEC"] = spec;
            inBlock.Tables[0].Rows[0]["ASMAT_NAME"] = asmat_name;

            inBlock.Tables[0].Rows[0]["ASMAT_NO"]       = asmat_no;
            inBlock.Tables[0].Rows[0]["PA_LOCATION_NO"] = pa_location_no;
            inBlock.Tables[0].Rows[0]["COMPANY_CODE"]   = company_code;
            inBlock.Tables[0].Rows[0]["STOCK_NO"]       = stock_no;



        

            EI.EIInfo outBlock = EI.EITuxedo.CallService("pasi15_inq", inBlock);
            outBlock.Tables[0].TableName = "Table0";


            outBlock.Tables[0].Columns.Add("STOCK_NO_DESC");



            string sql_str1 = "select STOCK_NO CODE, STOCK_NAME CODE_DESC_1_CONTENT ,BRANCH_CODE  from tsimm01 where STOCK_TYPE in ('6','7','8','9')  ";

            //仓库代码转换
            EI.EIInfo outBlock_TEMP = EF.Utility.ExecQuery(sql_str1);
            DataTable dtTemp = null;


            for (int i = outBlock.Tables[0].Rows.Count - 1; i >= 0; i--)
            {
                string STOCK_NO = outBlock.Tables[0].Rows[i]["STOCK_NO"].ToString().Trim();
                if (STOCK_NO.Trim() != "")
                    dtTemp = outBlock_TEMP.Tables[0].Select("CODE  = '" + STOCK_NO + "'").CopyToDataTable<DataRow>();

                if (dtTemp != null && dtTemp.Rows.Count == 1)
                    outBlock.Tables[0].Rows[i]["STOCK_NO_DESC"] = dtTemp.Rows[0]["CODE_DESC_1_CONTENT"];

            }



            //系统信息；
            outBlock.Tables.Add("SYS");
            outBlock.Tables["SYS"].Columns.Add("FLAG");
            outBlock.Tables["SYS"].Columns.Add("MSG");
            outBlock.Tables["SYS"].Rows.Add(outBlock.sys_info.flag, outBlock.sys_info.msg);            
            return outBlock;


        }

       
    }
}